これは、Sequence インフラスタックを利用した web3 ゲーム向け Unreal SDK の高度なブロックチェーン連携に関するドキュメントです。
FBinaryData
構造体でラップされており、これは共有バイト配列 TSharedPtr<TArray<uint8>>
へのポインタのラッパーです。バイナリデータはさらに FUnsizedData
(可変サイズのデータ)と TSizedData<TSize>
(指定バイト長 TSize のデータ)に分類されます。
32バイトの秘密鍵など、サイズが決まっている重要な暗号型は TSizedData のサブタイプとして定義されています。例えば、FPrivateKey : TSizedData<32>
です。これらは From(FString Str)
を使って 16進数文字列から読み込むこともできます(例:FPrivateKey::From("0x0...0");
)。入力文字列のサイズが正しいことを確認してください。
ABI/ABI.h
の ABI クラスを中心に構成されており、UInt32、Int32、Bool、FAddress、FString などの型を変換する関数を提供します。その他のデータは、固定長配列用の TFixedABIArray や可変長配列用の TDynamicABIArray、固定長バイナリデータ用の TFixedABIData や可変長バイナリデータ用の TDynamicABIData
に直接変換できます。
データを ABIEncodeable 型で保持したら、TArray<ABIEncodeable*>
型の配列を ABI::Encode
に渡すことで、引数のバイナリエンコードを取得できます。詳細は **TestABI.cpp**
のサンプルをご覧ください。